/*
 * C 关键字
*/
auto     声明自动变量
break    跳出当前循环
case     开关语句分支
char     声明字符型变量或函数返回值类型
const    定义常量，如果一个变量被 const 修饰，那么它的值就不能再被改变
continue 结束当前循环，开始下一轮循环
default  开关语句中的"其它"分支
do       循环语句的循环体
double   声明双精度浮点型变量或函数返回值类型
else     条件语句否定分支（与 if 连用）
enum     声明枚举类型
extern   声明变量或函数是在其它文件或本文件的其他位置定义
float    声明浮点型变量或函数返回值类型
for      一种循环语句
goto     无条件跳转语句
if       条件语句
int      声明整型变量或函数
long     声明长整型变量或函数返回值类型
register 声明寄存器变量
return   子程序返回语句（可以带参数，也可不带参数）
short    声明短整型变量或函数
signed   声明有符号类型变量或函数
sizeof   计算数据类型或变量长度（即所占字节数）
static   声明静态变量
struct   声明结构体类型
switch   用于开关语句
typedef  用以给数据类型取别名
unsigned 声明无符号类型变量或函数
union    声明共用体类型
void     声明函数无返回值或无参数，声明无类型指针
volatile 说明变量在程序执行中可被隐含地改变
while    循环语句的循环条件

C99 新增关键字
_Bool
_Complex
_Imaginary
inline
restrict

C11 新增关键字
_Alignas
_Alignof
_Atomic
_Generic
_Noreturn
_Static_assert
_Thread_local

/*
 * 数据类型
*/
char           1 byte
unsigned char  1 byte
signed char    1 byte
int            2 bytes or 4 bytes
unsigned int   2 bytes or 4 bytes
short          2 bytes
unsigned short 2 bytes
long           4 bytes
unsigned long  4 bytes

float          4 bytes
double         8 bytes
long double    16 bytes
